package general

import (
	"io"
	"net/http"
	"strconv"
)

// FetchURL 发送 GET 请求到指定的 URL，并返回响应体和状态码
func FetchURL(url string) (string, string, error) {
	// 创建 HTTP 请求
	resp, err := http.Get(url)
	if err != nil {
		return "", "", err
	}
	// 确保在函数返回时关闭响应体
	defer resp.Body.Close()

	// 读取响应体
	body, err := io.ReadAll(resp.Body)
	if err != nil {
		return "", strconv.Itoa(resp.StatusCode), err
	}

	// 返回响应体和状态码
	return string(body), strconv.Itoa(resp.StatusCode), nil
}
